9 research outputs found

    Prielaidos automatiniam programavimo stiliaus vertinimui informatikos olimpiadose

    Get PDF
    Programming Style is an important part of program quality and it should be taken into account while assessing programs designedby competitors in informatics. In InternationalOlympiad in Informatics grading is automated and based on testing results only, while programming style is not taken into account. However there exists practice in universities in programming courses where programming style of submitted programs is evaluated automatically. The paper reviews existing experience and discusses possibilities for automated grading of programming style in informatics olympiads

    Lietuvos informatikos olimpiados darbų vertinimas programinės įrangos kokybės modelio požiūriu

    Get PDF
    Mokinių informatikos olimpiados – tai programavimo konkursai, per kuriuos metų dalyviai turi sukurti tinkamą ir efektyvų algoritmą, jį realizuoti kuria nors leidžiama programavimo kalba. Sprendimai olimpiadose vertinami automatiškai testuojant programas, taip pat vertinamas algoritmo aprašymas ir programavimo stilius. Pati vertinimo schema jau daugelį metų yra susiklosčiusi remiantis tradicijomis, metodiniais samprotavimais, tačiau nėra moksliškai pagrįsta. Šis straipsnis – tai pirmasis žingsnis, siekiant moksliškai pagrįsti vertinimą informatikos olimpiadose. Straipsnyje į dalyvio sukurtą programą žvelgiama programinės įrangos kokybės reikalavimų standarto ISO-9126-1 požiūriu ir analizuojama, kiek dabartinė vertinimo schema atitinka šį kokybės modelį.Assessment of solutions of Lithuanian Informatics Olympiads from the Point of View of Software Quality ModelJūratė Skūpienė SummaryLithuanian Informatics Olympiads are algorithmic and programming competitions where the contestants are given algorithmic tasks and have to design and implement correct and effi cient algorithms in one of the allowed programming languages (currently Pascal, C/C++). The current grading scheme consists of automated testing and manual assessment of verbal algorithm description and programming style. Two aspects of submission should be taken into account – algorithm (computer science area) and its implementation (computer engineering fi eld). The fi nal submission (program) delivered for grading is more likely to resemble piece of software rather than constructed algorithm. The paper focuses on analysing the grading of submissions from the point of view of Software quality model. Understanding of quality of a submission can’t be homogenous as quality is a constructed notion dependant on a particular software quality model chosen by the experts (scientific committee of the Olympiad). The grading schema (except for verbal description of an algorithm) correspond ISO-9126-1 software quality model. Current grading schema foresees assessing three out of six quality characteristics of this model, namely functionality, effi ciency and maintainability. The main goal of the Olympiad to emphasize problem solving, but not technical details of implementation, is a reasonable motivation why reliability and portability are not assessed. As for usability, there are very concrete requirements for the data input/output and the programs, the compliance to these requirements may be checked many times during the contest by submitting the program to Contest and Grading System (and corrected if needed). The programs which do not obey the requirements are not forwarded for grading. The most important characteristic is functionality and other have meaning only if the program is functional. This (i.e. the level of functionality) is taken into account while assessing maintainability, but not when assessing effi ciency. The most complicated is assessing functionality as the there exists confrontation between three different points of views. From the point of view of software quality model, functionality is a Boolean value and there should be no partial score. From educational point of view, motivation of contestants has high priority in the contest, so partial scoring is very important, while from the point of view of problem solving, automated grading is not good enough as not equivalent algorithms may be assigned similar scores (i.e. testing reveals the existence of an error, but it doesn‘t show the scope of the error). It can be concluded that overall current grading schema in Lithuanian Olympiads corresponds ISO-9126-1 quality model, however, the assessment of functionality should be more investigated and motivated

    Automatinio sprendimų vertinimo informatikos olimpiadose raida ir perspektyvos

    Get PDF
    Pastaruoju metu mokslinėje visuomenėje vis daugiau atgarsio sulaukia įvairios informatikos (algoritmavimo) olimpiados. Ši sritis tampa mokslinių tyrimų objektu. Informatikos olimpiadų dalyviai turi sukurti algoritmus ir juos užrašyti nepriekaištingai veikiančiomis programomis viena iš leidžiamų programavimo kalbų. Darbai yra vertinami automatiškai testuojant juodosios dėžės principu, visiškai nebandant analizuoti paties algoritmo. Toks vertinimas sulaukia nemažai kritikos, tačiau kol kas gerų alternatyvų nėra. Straipsnyje pateikiama automatinio vertinimo informatikos olimpiadose raida nuo pirmųjų olimpiadų iki šių dienų, apžvelgiami darbai, kuriuose nagrinėjama ši problematika, aptariamos olimpiadose ir mokslinėje literatūroje siūlytos patobulintos vertinimo schemos, numatomos ateities gairės.Development and perspectives of automated grading in informatics olympiadsJūratė Skūpienė SummaryInternational Olympiads in Informatics (IOI) lately are gaining more attention in the scientific community. Contestants in IOI have to design algorithms and implement them as programs in one of allowed programming languages. Currently all the submissions are graded automatically using black-box method and grading is based on execution of compiled programs with different tests (input data). The algorithm itself is not analysed or revealed in any other possible way. Current gradingsystem receives a lot of criticism due its unfairness (mistyping the name of a variable might lead to zero points), however, no better grading models have been proposed so far. The paper gives an overview of the development of grading in IOI starting from the very first IOI’s where the verbal description of an algorithm had to be presented and evaluated. Many grading problems emerged in 1990’s due to input/output format requirements which where inevitable in order to be able to perform automated testing of submissions. Input/output details required a lot of concentration from participants for mistyping a file name or redundant/missing end of line symbol might have resulted in zero points. Sometimes that even shifted focus from algorithm to formatting details. These problems were solved with the appearance of the first Informatics Contest Management System in 2001 which allowed the contestants to submit and run their program with sample tests thus checking their programs for compatibility with format requirements and correcting if there was such a need during contest time. After the contest management systems found their place in IOI’s the attention was shifted to the relationship between the grades given for a submission and the algorithm implemented. The paper presents overview of published papers and discussions in IOI community on these topics. The papers ends with perspectives and directions for future improvement of grading in IOI’s

    Automated Evaluation of Computer Programs at Undergraduate Level: Suitability Study for Competitive Events

    No full text
    Purpose—The paper is aimed towards the problem of automated evaluation of computer programs designed by students during competitive events where the participants have to design an algorithm and to implement it as a working program, which has to be evaluated. A similar evaluation has to be performed at universities by the lecturers teaching basics of programming. The purpose of this paper is to investigate the automated evaluation applied to computer programs designed by the university students, and to analyze the suitability of such methods for evaluation of computer programs designed by high school students in competitive events. Design/methodology/approach—Comparative analysis is the main approach used in this paper. Findings—The educational and technical goals that seek evaluation of computer programs at the university level are different from those in informatics contests. Therefore the majority of approaches applied at universities have led to development of automated evaluation systems with functionalities different than the ones required by informatics contests, and in the opinion of the author cannot be easily transferred to informatics contests. We identified one area where such transfer might be possible: automated evaluation of programming style. Research limitations/implications—The experience of automated evaluation of programming style applied at the universities has a potential to be transferred to informatics contests; however the universities may ask their students to apply specific programming style, while informatics contests should accept a very broad range of reasonable programming styles. Additional investigation is required to answer the question in which way and to which extent the experience gained at the universities can be applied in informatics contests and the maturity exam. Practical implications—This paper is a step towards developing a fair and motivated evaluation scheme in informatics contests. The paper would be useful for the researchers as it gives guidelines for future research. Originality/Value—It is very important to apply fair and motivated evaluation in informatics contests as they involve the majority of high-school students interested in computer science in Lithuania and some other countries as well and may motivate them to study computer science at the university. To the knowledge of the author, this is the first paper analyzing the suitability of automated evaluation methods developed at the university level, to be applied for the evaluation at high school level in particular in informatics contests. On the other hand, the evaluation in informatics contests is an issue that attracts the interest of international community of informatics contests

    Automated evaluation of computer programs at undergraduate level: suitability study for competitive events

    Get PDF
    Purpose - The paper is aimed towards the problem of automated evaluation of computer programs designed by students during competitive events where the participants have to design an algorithm and to implement it as a working program, which has to be evaluated. A similar evaluation has to be performed at universities by the lecturers teaching basics of programming. The purpose of this paper is to investigate the automated evaluation applied to computer programs designed by the university students, and to analyze the suitability of such methods for evaluation of computer programs designed by high school students in competitive events. Design/methodology/approach - Comparative analysis is the main approach used in this paper. Findings - The educational and technical goals that seek evaluation of computer programs at the university level are different from those in informatics contests. Therefore the majority of approaches applied at universities have led to development of automated evaluation systems with functionalities different than the ones required by informatics contests, and in the opinion of the author cannot be easily transferred to informatics contests. We identified one area where such transfer might be possible: automated evaluation of programming style. Research limitations/implications - The experience of automated evaluation of programming style applied at the universities has a potential to be transferred to informatics contests; however the universities may ask their students to apply specific programming style, while informatics contests should accept a very broad range of reasonable programming styles. Additional investigation is required to answer the question in which way and to which extent the experience gained at the universities can be applied in informatics contests and the maturity exam. Practical implications - This paper is a step towards developing a fair and motivated evaluation scheme in informatics contests. The paper would be useful for the researchers as it gives guidelines for future research. Originality/Value - It is very important to apply fair and motivated evaluation in informatics contests as they involve the majority of high-school students interested in computer science in Lithuania and some other countries as well and may motivate them to study computer science at the university. To the knowledge of the author, this is the first paper analyzing the suitability of automated evaluation methods developed at the university level, to be applied for the evaluation at high school level in particular in informatics contests. On the other hand, the evaluation in informatics contests is an issue that attracts the interest of international community of informatics contests.Automatinis studentų sukurtų programų vertinimas yra išsamiai analizuojamas moksliniuose straipsniuose jau daugelį metų. Dėstytojams pateikus pradinių kursų studentams programavimo užduotis tenka įvertinti gautas programas. Dažnai vertinamų programų skaičius didelis, todėl taikomas automatizuotas vertinimas. Su analogiška situacija susiduriama programavimo varžybose. Programavimo varžybos yra algoritminių uždavinių problemų sprendimo varžybos, kuriose dalyviai turi sukurti algoritmą, sprendžiantį duotąjį uždavinį, ir jį realizuoti veikiančia programa bet kuria iš varžybose numatytų programavimo kalbų bei pateikti savo darbą įvertinti. Šio straipsnio tikslas – išanalizuoti automatinio programavimo užduočių vertinimo patirtį aukštosiose mokyklose ir įvertinti šios patirties tinkamumą ir perkeliamumą į programavimo varžybas. Edukaciniai bei techniniai (suponuoti edukacinių tikslų) studentų sukurtų programų vertinimo tikslai labai skiriasi nuo vertinimo tikslų programavimo varžybose. Todėl universitetuose taikomi vertinimo būdai bei automatizuoto vertinimo poreikiai sąlygojo atitinkamų automatinių vertinimo sistemų sukūrimą. Tačiau šių sistemų funkcionalumas labai skiriasi nuo funkcionalumo, tinkamo informatikos varžyboms, todėl, autorės nuomone, automatizuoto studentų sukurtų programų vertinimo patirtį nėra tikslinga perkelti į programavimo varžybas. Straipsnyje išskirta viena sritis (automatizuotas programavimo stiliaus vertinimas), kurioje universitetų patirtis gali būti potencialiai pritaikyta varžybose. Automatizuotas programavimo stiliaus vertinimas, taikomas kai kuriose aukštosiose mokyklose, gali numatyti konkretų programavimo stilių, kurio studentai turėtų laikytis. Reikalavimas naudoti vienodą stilių palengvina automatizuotą vertinimą. Tuo tarpu programavimo varžybose skirtingi programavimo stiliai turėtų būti laikomi vienodai priimtinais ir automatizuotas vertinimas neturėtų suteikti pranašumo jokiam konkrečiam stiliui ar jų grupei. Tad, norint perkelti automatizuoto programavimo stiliaus vertinimo patirtį į programavimo varžybas, reikalingas atskiras tyrimas, kuris atsakytų į šiuos klausimus. Šis straipsnis – tai tolesnis žingsnis siekiant sukurti pagrįstą ir motyvuotą programavimo varžybų vertinimo schemą. Straipsnyje pateikiamos konkrečios tolesnių tyrimų gairės, tad jis naudingas mokslininkams, atliekantiems šios tematikos tyrimus. Programavimo varžybose dalyvauja daug informatika (kompiuterių mokslu) besidominčių vyresniųjų klasių mokinių, ir dalyvavimas varžybose gali turėti įtakos jų pasirinkimui studijuoti informatiką. Yra populiaru organizuoti varžybas siekiant pritraukti potencialius studentus. Todėl itin svarbu, kad varžybose programų vertinimas būtų motyvuotas, pagrįstas ir suprantamas dalyviams, o kartu skatinantis tobulėti. Autorės žiniomis, šis straipsnis yra pirmasis, nagrinėjantis automatizuoto atliktų programavimo užduočių vertinimo, taikomo aukštosiose mokyklose, tinkamumą programavimo varžybose

    Informatikos olimpiados rezultatų skaičiavimas naudojant daugiakriterinį sprendimų metodą

    No full text
    The Lithuanian Informatics Olympiad is a problem solving contest for high school students. The work of each contestant is evaluated in terms of several criteria, where each criterion is measured according to its own scale (but the same scale for each contestant). Several jury members are involved in the evaluation. This paper analyses the problem how to calculate the aggregated score for whole submission in the above mentioned situation. The chosen methodology for solving this problem is Multiple Criteria Decision Analysis (MCDA). The outcome of this paper is the score aggregation method proposed to be applied in LitIO developed using MCDA approaches

    Sprendimų vertinimo Lietuvos mokinių informatikos olimpiadose modelio tobulinimas

    No full text
    The Lithuanian Informatics Olympiads (LitIO) is a problem solving programming contest for students in secondary education. The work of the student to be evaluated is an algorithm designed by the student and implemented as a working program. The current evaluation process involves both automated (for correctness and performance of programs with the given input data) and manual (for programming style, written motivation of an algorithm) grading. However, it is based on tradition and has not been scientifically discussed and motivated. To create an improved and motivated evaluation model, we put together a questionnaire and asked a group of foreign and Lithuanian experts having experience in various informatics contests to respond. We identified two basic directions in the suggested evaluation models and made a choice based on the goals of LitIO. While designing the model in the paper, we reflected on the suggestions and opinions of the experts as much as possible, even if they were not included into the proposed model. The paper presents the final outcome of this work, the proposed evaluation model for the Lithuanian Informatics Olympiads

    Automatinio vertinimo patikimumas Lietuvos informatikos olimpiadose : vieno uždavinio analizė

    No full text
    Lietuvos mokinių informatikos olimpiada (LMIO) - tai programavimo (algoritmų kūrimo) varžybos. Sprendimų (algoritmus vykdančių programų) vertinimas Lietuvos kaip ir pasaulio olimpiadose yra automatizuotas ir įgyvendinamas juodosios dėžės principu. Kiekvienam uždaviniui sukuriamas tam tikras testų skaičius, kiekviena programa sukompiliuojama ir vykdoma su šiais testais. Jei programa sėkmingai baigė darbą su konkrečiu testu neviršydama užduotyje nurodytų laiko ir atmindes ribojimų, testas laikomas įveiktu ir už jį skiriami taškai. Pasaulinėse olimpiadose neseniai pradėtas taikyti testų grupavimas, kai taškai už testą skiriami tik tada, jei įveikiami visi tos grupės testai. Pastaruoju metu tarptautinių olimpiadų bendruomenėje bei olimpiadas analizuojančiuose moksliniuose straipsniuose pasirodė abejonių dėl automatizuoto vertinimo objektyvumo. Pateikiami atvejai, kai neteisingos programos surenka daug taškų, o puikūs sprendimai dėl nedidelės klaidos visiškai negauna balų. Šio tyrimo metu buvo išsamiai išanalizuoti visi vieno 2008 m. LMIO finalinio etapo uždavinio sprendimai (jų buvo 153). Sprendimai buvo suskirstyti į tris kategorijas pagal algoritmus, kuriuos bandė vykdyti šios programos. Tai neteisingi sprendimai (nebaigti sprendimai, atsitiktinės strategijos, euristiniai algoritmai, kiti klaidingi algoritmai), iš dalies teisingi sprendimai (atskirų atvejų analizavimas) bei teisingi algoritmai (išsamios paieškos strategija bei dinaminis programavimas). Be abejo, net ir pasirinkęs teisingą ir efektyvų algoritmą, mokinys galėjo rašomoje programoje padaryti tiek klaidų, kad ir vertintojas žmogus ir vertintoja sistema jam paskirtų labai mažai balų. Tad algoritmo pasirinkimas iš esmės nulemia viršutinę, bet ne apatinę vertinimo ribą. Automatiškai vertinant galimos dviejų tipų problemos. Prastesniam sprendimui gali būti paskiriama daugiau balų nei jam priklausytų. Atlikus testą įprastu būdu (taip realiai buvo vykdomas testavimas olimpiadoje, iš kurios paimtas šis uždavinys) buvo rasti 29 sprendimai (19 proc), kurie surinko daugiau balų nei jiems priklausytų pagal pasirinktą algoritmą. Iš jų net 8 darbai (5,2 proc.) surinko gerokai daugiau papildomų balų ir šių darbų vertinimai jau galėjo iškreipti galutinių rezultatų tikslumą. Tuo tarpu taikant grupinį testavimą tik 6 darbai (3,9 proc.) surinko daugiau balų nei priklausė, tačiau tarp jų vis tiek buvo 3 darbai, kurie surinko gerokai daugiau bei priklausytų balų. Lieka potenciali rizika per daug balų skirti darbams, kuriuose naudojami įvairūs euristiniai algoritmai. Kita galima problema - kai geram sprendimui, kuriame yra labia nedidelė klaida, skiriamas labai mažas balų skaičius. Tyrimo metu rasta 12 tokių sprendimų (7,8 proc). Daugumoje šių darbų atlikta išsamios paieškos strategija (ją renkasi mažiau patyrę dalyviai) ir šių sprendimų autoriai dėl smulkių klaidų neteko palyginti nedaug balų. Tuo tarpu vienas dalyvis, taikęs dinaminį programavimą dėl vieną kartą sukeistų indeksų neteko net 80 proc. balų. Taikant grupinį testavimą rezultatai buvo žemesni (tai lemia pati tokio testavimo idėja), tačiau negalima teigti, kad grupinis testavimas labai padidino galimybę įvykti šiai paklaidai. Išanalizavus visus tyrimo rezultatus galima daryti išvadą, kad naudojant negrupinį testavimą gaunama nemaža paklaida ir derėtų pereiti prie grupinio testavimo. Olimpiadose itin svarbu tiksliai įvertinti darbus siekiant nustatyti nugalėtojus (kurių nėra daug), tad reikia toliau ieškoti būdų kaip išvengti vertinimo klaidų, kurios gali įvykti taikant grupinį testavimą. Galima pačių varžybų metu pateikti daugiau grįžtamojo ryšio (tai sumažintų gerų sprendimų lemtingų klaidų tikimybę), galima j vertinimą įtraukti privalomą sprendimo aprašymą, galbūt persvarstyti automatinio vertinimo schemą.Lithuanian Informatics Olympiad (LIO) is a programming (algorithmic) competition for students in secondary education where grading is done automatically following international standards. In order to evaluate credibility of automated assessment 160 programs designed during LIO ' 2008 were additionally assessed by human evaluator. The paper compares the results of human and automated assessment and discusses discrepancies between the two types of assessments
    corecore